package com.zj.fx.mapper.auto;

import com.zj.fx.model.auto.DataTree;
import com.zj.fx.model.auto.SysDepartment;
import com.zj.fx.model.auto.SysDepartmentExample;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 部门表 SysDepartmentMapper
 *
 * @author fuce_自动生成
 * @email 115889198@qq.com
 * @date 2020-04-17 13:12:58
 */
@Mapper
public interface SysDepartmentMapper {

    long countByExample(SysDepartmentExample example);

    int deleteByExample(SysDepartmentExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(SysDepartment record);

    int insertSelective(SysDepartment record);

    List<SysDepartment> selectByExample(SysDepartmentExample example);

    List<DataTree> selectByExample3(DataTree dataTree);

    List<DataTree> selectByExample4(DataTree dataTree, @Param("status") List status);

    SysDepartment selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") SysDepartment record, @Param("example") SysDepartmentExample example);

    int updateByExample(@Param("record") SysDepartment record, @Param("example") SysDepartmentExample example);

    int updateByPrimaryKeySelective(SysDepartment record);

    int updateByPrimaryKey(SysDepartment record);

    /**
     * 根据类型查询部门表全部数据
     *
     * @param status -
     * @return -
     */
    List<SysDepartment> querySysDepartment(@Param("status") List status);

    /**
     * 根据类型查询部门表全部数据
     *
     * @param status -
     * @return -
     */
    List<SysDepartment> querySysDepartment2(@Param("status") List status);

    /**
     * 根据类型查询部门表全部数据
     *
     * @param status -
     * @return -
     */
    List<SysDepartment> querySysDepartment4(@Param("status") List status);

    /**
     * 根据类型查询部门表全部数据
     *
     * @param status -
     * @return -
     */
    List<SysDepartment> querySysDepartment5(@Param("status") List status);

    /**
     * 结果页数据导出
     *
     * @return -
     */
    List<SysDepartment> querySysDepartmentExport(String month);

    List<SysDepartment> selectByExample2(SysDepartment example);

    List<SysDepartment> query(String month);

    /**
     * 查询月度指标管理需要展示的数据
     *
     * @return
     */
    List<SysDepartment> querySysDepartmentAll(SysDepartment sysDepartment);

    long countSysDepartment(SysDepartment sysDepartment);

    /**
     * 查询月度任务管理需要展示的数据（查看进度）
     *
     * @return
     */
    List<SysDepartment> querySysDepartmentAll3(SysDepartment sysDepartment);

    int countSysDepartment3(SysDepartment sysDepartment);

    /**
     * 查询月度任务评分审核展示的数据（查看进度）
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentAll4(SysDepartment sysDepartment);

    long countSysDepartment4(SysDepartment sysDepartment);

    /**
     * 查询一级指标填报（查看进度）
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentAllIndex(SysDepartment sysDepartment);

    long countSysDepartmentIndex(SysDepartment sysDepartment);

    /**
     * 查询一级指标填报（查看进度）
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentAllIndex2(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentByIndexSummary(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentByIndexSummary2(SysDepartment sysDepartment);

    /**
     * 查询任务填报（查看进度）
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentAllTask(SysDepartment sysDepartment);

    long countSysDepartmentTask(SysDepartment sysDepartment);

    /**
     * 带搜索条件查询
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentCondition(SysDepartment sysDepartment);

    SysDepartment selectByDepId(String id);

    List<SysDepartment> selectDepNameByDepId(SysDepartment sysDepartment);

    List<SysDepartment> selectMonthIndexByDepId(SysDepartment sysDepartment);

    List<SysDepartment> selectDepNameByTask(SysDepartment sysDepartment);

    List<SysDepartment> selectMonthTaskByDepId(SysDepartment sysDepartment);

    List<SysDepartment> selectTaskByUpdate(SysDepartment sysDepartment);

    List<SysDepartment> selectTaskBySave(SysDepartment sysDepartment);

    List<SysDepartment> selectIndexByUpdate(SysDepartment sysDepartment);

    /*=======================模板导入导出=====================================*/

    /**
     * 模板导入/导出所需数据
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentImport(SysDepartment sysDepartment);

    /**
     * 模板导入/导出所需数据
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentImport2(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentImport3(SysDepartment sysDepartment);

    /**
     * 年度考核管理-查询添加部门信息
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartmentImport4(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentResult(SysDepartment sysDepartment);

    /**
     * 基础管理提升查询部门单位数据
     *
     * @param sysDepartment -
     * @return -
     */
    List<SysDepartment> querySysDepartment3(SysDepartment sysDepartment);

    SysDepartment querySysDepartmentByName(SysDepartment sysDepartment);

    /* ==========》     2022年更新     START     《==========*/

    /**
     * 根据类型查询 指标，任务，基础管理提升对应部门
     *
     * @param sysDepartment 实体类
     * @return list
     */
    List<SysDepartment> querySysDepartmentXin(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentXin2(SysDepartment sysDepartment);

    List<SysDepartment> querySysDepartmentXin3(SysDepartment sysDepartment);

    /**
     * 根据类型查询 指标，任务，基础管理提升对应部门名称
     *
     * @param sysDepartment 实体类
     * @return list
     */
    List<SysDepartment> queryXin(SysDepartment sysDepartment);

    /**
     * 根据类型查询 指标，任务，基础管理提升对应部门
     *
     * @param sysDepartment 实体类
     * @return list
     */
    List<SysDepartment> querySysDepartmentExportXin(SysDepartment sysDepartment);
    /* ==========》     2022年更新     END     《==========*/
}